Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
Cómo obtener la variable "$.Post" en otro sitio

Busco mi pregunta en Internet y no encuentro cómo obtener mi $_POST en otra página. Por favor ayuda.

juego.php:

 <?php session_start(); ?> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <script type="text/javascript"> var drzewo = 0; function save() { $.post( "save.php", { drzewo: drzewo } ); window.location.href = "save.php" }

guardar previamente.php

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> <?php session_start(); $_SESSION['drewno'] = $_POST["drzewo"]; echo $_SESSION['drewno'] ?>

Imagen de clave de matriz indefinida

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Su pregunta parece incompleta en mi opinión. Faltan muchas cosas en tu pregunta. De su imagen, asumo que la está usando en el servidor local. Hay una cosa que se ve rara es esta:

 `$.post( "save.php", { drzewo: drzewo } );`

¿Dónde se almacena este archivo save.php? ¿Está almacenado en su archivo raíz? O junto con el archivo operativo. Ponga un "/" antes de save.php y vea qué sucede. Hay otra cosa que parece incómoda: su imagen muestra que hay un archivo presave.php. Pero no encontré nada sobre ese archivo en los detalles de su pregunta. Puedo ver que pones un código de redireccionamiento en tu script. No se supone que JS funcione así. Lo que sucede aquí es que está realizando una operación asíncrona. Es por eso que PHP no puede obtener los datos y mostrarle un error. Si quieres enviar datos envíalo en un formulario. O puede poner una redirección en su código PHP después de obtener los datos de la publicación. Dado que es una llamada AJAX, puede ver algunos informes en su console.log() con los datos de respuesta.

about 4 years ago · Juan Pablo Isaza Denunciar

0

$.post( "save.php", { drzewo: drzewo } ); window.location.href = "save.php"

Analicemos estas 2 líneas de código. Cuando envía una solicitud de publicación a través de javascript, pasa por una solicitud ajax y el navegador espera hasta que save.php complete su código y regrese a ajax. Aquí save.php ha recibido los datos de $_POST y los ha procesado.

Estos datos procesados por save.php no aparecerán en el navegador. Irá a la función de devolución de llamada posterior (ajax). Si desea mostrar los datos, debe utilizar una función de devolución de llamada. Consulte este https://www.w3schools.com/jquery/ajax_post.asp para ver un uso simple de la función $.post() .

En la siguiente línea de su código, está redirigiendo su navegador a save.php sin enviar ningún dato de $_POST. Dado que ahora su save.php no tiene ninguna información sobre $_POST["drzewo"] arroja un error Undefined array key "drzewo" .

Por lo tanto, en lugar de la redirección de la página window.location.href , necesita una función de devolución de llamada con su función $.post() . Espero que ahora entiendas por qué estás recibiendo este error.

[Editar] - He agregado un código para su mejor comprensión. Puede consultar este excelente tutorial "JQuery Ajax POST Method" de freecodecamp.org. https://www.freecodecamp.org/news/jquery-ajax-post-method/

juego.php

 <?php session_start(); ?> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> </head> <body> <button id="btn" onclick="save();">Click this</button> <script type="text/javascript"> var drzewo = 0; function save() { $.post("save.php", { drzewo: drzewo }, function(result) { alert("This result contains the output from save.php : " + result); //Write here the code you want to execute after the POST request is successfully completed. } ); } </script> </body> </html>

guardar.php

 <?php session_start(); $_SESSION['drewno'] = $_POST["drzewo"]; echo $_SESSION['drewno'];
about 4 years ago · Juan Pablo Isaza Denunciar

0

Si desea pasar datos de una URL a otra, use una cadena de consulta. $.post() hace una solicitud POST, pero parece que save.php no es un punto final sino una página.

En otras palabras, puedes hacer esto:

 window.location.href = `save.php?drzewo=${drzewo}`;

Y luego en save.php simplemente lea el valor de $_GET :

 <?php session_start(); $_SESSION['drewno'] = $_GET["drzewo"]; echo $_SESSION['drewno'] ?>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda